package com.demo.util;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

/**
 * 密码加密解码器
 * @date 2021/4/30 16:50
 */
public final class BCryptUtil {
    /**
     * 使用 {@link BCryptPasswordEncoder} 进行加密解密
     * @date 2021/4/30
     */
    public static BCryptPasswordEncoder bCryptPasswordEncoder(){
        return new BCryptPasswordEncoder();
    }
    /**
     * 加密
     * @date 2021/4/30
     */
    public static String encode(String password){
        return bCryptPasswordEncoder().encode(password);
    }
    /**
     * 解密
     * @param password 未加密前得密码
     * @param encodePassword 加密后保存得密码
     * @date 2021/4/30
     * @return 解密成功返回true,否则false
     */
    public static boolean decode(String password,String encodePassword){
        return bCryptPasswordEncoder().matches(password,encodePassword);
    }
}
